From: Florian Müllner Date: Sat, 29 Jun 2019 23:05:27 +0000 (+0200) Subject: cleanup: Don't assume hasOwnProperty() method on objects X-Git-Tag: archive/raspbian/50.5-1+rpi1~1^2~811^2^2~89 X-Git-Url: https://dgit.raspbian.org/%22http://www.example.com/cgi/%22/%22http:/www.example.com/cgi/%22?a=commitdiff_plain;h=0ee7f02f8ec15280fbb699bb22cac481dee25e96;p=gnome-shell.git cleanup: Don't assume hasOwnProperty() method on objects Since ES5, it is possible to create objects with no prototype at all: let foo = Object.create(null); Those object won't have any builtin properties like hasOwnProperty(), which is why eslint added a corresponding rule to its default rule set. While this isn't an issue that affects our code, there's no harm in fol- lowing the recommendation and call the method through Object.prototype. https://gitlab.gnome.org/GNOME/gnome-shell/merge_requests/716 --- diff --git a/js/ui/layout.js b/js/ui/layout.js index 85bbd24c2..bfe19bfcb 100644 --- a/js/ui/layout.js +++ b/js/ui/layout.js @@ -861,7 +861,7 @@ var LayoutManager = GObject.registerClass({ // We can't use Params.parse here because we want to drop // the extra values like ancestorData.actor for (let prop in defaultParams) { - if (!params.hasOwnProperty(prop)) + if (!Object.prototype.hasOwnProperty.call(params, prop)) params[prop] = ancestorData[prop]; } diff --git a/js/ui/sessionMode.js b/js/ui/sessionMode.js index 583780111..55a422f3d 100644 --- a/js/ui/sessionMode.js +++ b/js/ui/sessionMode.js @@ -111,7 +111,7 @@ function _loadMode(file, info) { let suffix = name.indexOf('.json'); let modeName = suffix == -1 ? name : name.slice(name, suffix); - if (_modes.hasOwnProperty(modeName)) + if (Object.prototype.hasOwnProperty.call(_modes, modeName)) return; let fileContent, success_, newMode;